/**
 * Created by Ruben Pardo
 * Date: 7/03/12
 */

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}

function onLoadStyle(){
	changeStyle(getCookie('estilo'));
}
 
 /* STYLE CONTROL */
 function changeStyle(titulo){
	var arrayLink = document.getElementsByTagName('link');
	for(var i = 0; i < arrayLink.length; i++) {
		// Sólo aquellas etiquetas link que hacen referencia a un estilo
		// y que no sea para impresión

		//console.log(arrayLink[i].getAttribute('rel'));
		if(arrayLink[i].getAttribute('rel') != null && 
		arrayLink[i].getAttribute('rel').indexOf('stylesheet') != -1 && 
		arrayLink[i].getAttribute('media') != 'print') {
			// Si tiene título es un estilo preferido o alternativo,
			// si no tiene título es un estilo
			// predeterminado y siempre tiene que utilizarse
			//console.log(arrayLink[i].getAttribute('title'));

			if(arrayLink[i].getAttribute('title') != null &&
			arrayLink[i].getAttribute('title').length > 0) {

				//console.log(arrayLink[i].getAttribute('title')+" == "+style+" => "+(arrayLink[i].getAttribute('title') == style));
				if(arrayLink[i].getAttribute('title') == titulo){
					arrayLink[i].disabled = false;
					//console.log("Activar");
					setCookie('estilo',titulo,360);
				}else{
					arrayLink[i].disabled = true;
					//console.log("Desactivar");
				}
			}
		}
	}
}
 
 
 
 /* ################################## VALIDATE BASE ##########################################*/
 
//Valida el formulario de login de cualquier pagina del sitio
function validarLogin(loginForm){
    var loginVal = loginForm.elements["login"].value;
    var passVal = loginForm.elements["password"].value;

    var entrar = true;
    if ( !esVacio(loginVal)){
        if(!tieneSoloEspaciosOTabulaciones(loginVal)){
            document.getElementById("loginError").innerHTML = "";
        }else{
            entrar = false;
            document.getElementById("loginError").innerHTML = "No puedes introducir solo espacios o tabulaciones";
        }
    }else{
        entrar = false;
        document.getElementById("loginError").innerHTML = "El campo no puede estar vacio";
    }
    if (!esVacio(passVal)){
        if(!tieneSoloEspaciosOTabulaciones(passVal)){
            document.getElementById("passwordError").innerHTML = "";
        }else{
            document.getElementById("passwordError").innerHTML = "No puedes introducir solo espacios o tabulaciones";
            entrar = false;
        }
    }else{
        document.getElementById("passwordError").innerHTML = "El campo no puede estar vacio";
        entrar = false;
    }
	
	

    return entrar;
}


///////////////////////////////////// FUNCIONES AUXILIARES ///////////////////////////////////////////////////

//Funcion que comprueba si un campo esta vacio
function esVacio(text){
	return (text=="" || text==null);
}

//Funcion que comprueba si un caracter es un espacio o una tabulacion
function esEspacioOTabulacion(caracter){
	return (caracter == " " || caracter == "\t");
}



//TIene solo espaciones o tabulaciones
function tieneSoloEspaciosOTabulaciones(text){
	text = text.toLowerCase();
	for(var i=0; i<text.length; i++){
	      if (!esEspacioOTabulacion(text.charAt(i))){
		 return false;
	      }
		
	   }
	return true;
}

//Devuelve si un caracter es un numero
function esUnNumero(caracter){
	return (caracter.charCodeAt(0) > 47 && caracter.charCodeAt(0) < 58);
}

//Devuelve si un caracter es una letra minuscula
function esUnaLetraLower(caracter){
	return (caracter.charCodeAt(0) > 96 && caracter.charCodeAt(0) < 123);
}

//Devuelve si un caracter es una letra mayuscula
function esUnaLetraUpper(caracter){
    return (caracter.charCodeAt(0) > 64 && caracter.charCodeAt(0) < 91);
}

//Devuelve si un caracter es una letra
function esUnaLetra(caracter){
    return (esUnaLetraLower(caracter) || esUnaLetraUpper(caracter));
}
onLoadStyle();